perm filename CARF1.SAI[AER,HPM]4 blob
sn#210453 filedate 1976-04-11 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "CARF1"
C00007 ENDMK
C⊗;
BEGIN "CARF1"
REQUIRE "VIXHDR.SAI[VIS,HPM]" SOURCE_FILE;
REQUIRE "CARR.SAI[AER,HPM]" SOURCE_FILE;
INTEGER I,J,K,L,M,N,PSIZ,DCHAN,PSIZ2;
STRING FN;
BOOLEAN SYNA;
DO OUTSTR("PICTURE:") UNTIL (PSIZ←PFLDIM(FN←INCHWL))≠0;
BEGIN
INTEGER ARRAY PA[0:PSIZ];
GETPFL(FN,PA[0]);
PSIZ2←PIXDIM(PA[PCLN]%2,PA[LNBY]%2,PA[BYBI]);
END;
DDINIT;
SCREEN(-.5,1.5,1.5,-.5);
DRKEN; RECTAN(-1000,-1000,1000,1000);
FOR I←0 STEP 1 UNTIL 7 DO FOR J←0,0,0,0 DO DPYUP(SYNMAP(I));
SHOWA('47);
BEGIN
INTEGER ARRAY PA[0:PSIZ2];
INTEGER BITS;
BEGIN
INTEGER ARRAY PB[0:PSIZ];
GETPFL(FN,PB[0]);
MAKPIX(PB[PCLN]%2,PB[LNBY]%2,PB[BYBI],PA[0]);
SELECT(PB[0],PB[PCLN]%2,PB[LNBY]%2,PA[0]);
END;
GRAY(PA[0]); MAPGRY(0.5,PA[BYBI]+1);
BITS←PA[BYBI];
FOR I←1 STEP 1 UNTIL BITS DO
IF SYNMAP(I)>0 THEN
BEGIN
INTEGER XP,YP,DBIT;
DBIT←BITS-I;
DRKEN; RECTAN(0,0,1,1);
VIDEO(0,0,1,1,PA[0],1 ASH DBIT);
FOR J←1,2,3 DO DPYUP(SYNMAP(I));
END;
UNGRAY(PA[0]);
BEGIN
REAL ARRAY QC,QD[0:PA[PCLN]-CARH12,0:PA[LNBY]-CARW12];
INTEGER XL,XH,YL,YH; REAL AVRG,LOA,HIA;
XL←0; YL←0; XH←PA[LNBY]-1; YH←PA[PCLN]-1;
outstr("into vcar"&'15&'12);
AVRG←VCAR(PA[0],XL,YL,XH,YH,QC[0,0]);
outstr("out of vcar"&'15&'12);
PUTPFL(PA[0],"A");
LOA←9999; HIA←-9999;
FOR I←0 STEP 1 UNTIL PA[PCLN]-CARH12 DO
FOR J←0 STEP 1 UNTIL PA[LNBY]-CARW12 DO
BEGIN
HIA←HIA MAX ABS(QC[I,J]);
LOA←LOA MIN ABS(QC[I,J]);
END;
MAKPIX(PA[PCLN],PA[LNBY],PA[BYBI],PA[0]);
WIPE(PA[0]);
FOR I←0 STEP 1 UNTIL PA[PCLN]-CARH12 DO
FOR J←0 STEP 1 UNTIL PA[LNBY]-CARW12 DO
PUTEL(PA[0],I+CARH12%2,J+CARW12%2,
(2↑PA[BYBI]-1)*(ABS(QC[I,J])-HIA)/(LOA-HIA));
PUTPFL(PA[0],"B");
DRKEN; RECTAN(-1000,-1000,1000,1000);
VIDEO(0,0,1,1,PA[0],1 ASH (PA[BYBI]-1));
FOR J←1,1,1 DO DPYUP(SYNMAP(0));
SHOW('47);
FOR I←0 STEP 1 UNTIL PA[PCLN]-CARH12 DO
FOR J←0 STEP 1 UNTIL PA[LNBY]-CARW12 DO
BEGIN
INTEGER II,JJ,IMIN,JMIN,IMAX,JMAX;
IMIN←(I-CARH12%2) MAX 0; IMAX←(I+CARH12%2) MIN (PA[PCLN]-CARH12);
JMIN←(J-CARW12%2) MAX 0; JMAX←(J+CARW12%2) MIN (PA[LNBY]-CARW12);
LOA←9999;
FOR II←IMIN STEP 1 UNTIL IMAX DO FOR JJ←JMIN STEP 1 UNTIL JMAX DO
LOA←LOA MIN QC[II,JJ];
QD[I,J]←(IF QC[I,J]=LOA THEN LOA ELSE HIA);
END;
WIPE(PA[0]);
FOR I←0 STEP 1 UNTIL PA[PCLN]-CARH12 DO
FOR J←0 STEP 1 UNTIL PA[LNBY]-CARW12 DO
PUTEL(PA[0],I+CARH12%2,J+CARW12%2,
(2↑PA[BYBI]-1)*(QD[I,J]-HIA)/(LOA-HIA));
PUTPFL(PA[0],"C");
DRKEN; RECTAN(-1000,-1000,1000,1000);
VIDEO(0,0,1,1,PA[0],1 ASH (PA[BYBI]-1));
FOR J←1,1,1 DO DPYUP(SYNMAP(0));
SHOW('47);
END;
END;
END;